مقدمه و تعاریف پایه
در چشمانداز نوین یادگیری ماشین، گرافها ابزاری بیرقیب برای مدلسازی روابط پیچیده بین موجودیتها هستند. در حالی که در مدلهای سنتی، دادهها معمولاً بهصورت سطرهای مستقل یک جدول در نظر گرفته میشوند، دنیای واقعی سرشار از وابستگی و ارتباط است.
در دادههای گرافی، «ساختار ارتباطات» (Structure) به اندازهٔ «ویژگیهای گرهها» (Features) حاوی اطلاعات حیاتی است؛ نادیده گرفتن یالها یعنی حذف بخش بزرگی از ماهیت مسئله، و دقیقاً همینجاست که شبکههای عصبی گرافی (GNN) وارد میدان میشوند.
ساختار ریاضی
یک گراف \(G\) را معمولاً بهصورت \(G = (V, E)\) تعریف میکنند که در آن:
- \(V\): مجموعهی گرهها (Nodes) یا رأسها؛ هر گره میتواند نشانگر یک فرد، شیء، مولکول یا سند باشد.
- \(E\): مجموعهی یالها (Edges) که بیانگر رابطه یا تعامل بین دو گره است.
ورودی استاندارد یک GNN شامل دو مؤلفه کلیدی است:
- ماتریس ویژگیها \(X\): اگر گراف \(N\) گره و هر گره \(D\) ویژگی داشته باشد، ماتریسی با ابعاد \(N \times D\) است که هر سطر آن بردار ویژگی یک گره را نشان میدهد.
- ماتریس مجاورت \(A\): ماتریسی که ساختار اتصالات را کدگذاری میکند؛ وجود یال بین گره \(i\) و \(j\) معمولاً با ۱ و نبود آن با صفر در درایه \(A_{ij}\) نشان داده میشود.
انتقال پیام (Message Passing)
قلب تپندهٔ محاسبات در GNNها، مکانیزم «ارسال پیام» است. در هر لایه، هر گره پیامهایی از همسایگان خود دریافت میکند، آنها را تجمیع کرده و با وضعیت فعلی خودش ترکیب میکند تا به یک نمایش (Embedding) جدید و غنیتر برسد.
این فرایند سبب میشود که پس از چند لایه، هر گره نهتنها اطلاعات خودش، بلکه دانش ساختاری همسایگان نزدیک و دورتر را نیز در بردار ویژگیاش حمل کند.
فرمول بهروزرسانی (Update Rule)
در قالب ریاضی، بهروزرسانی وضعیت گره \(v\) در لایهٔ \(k\)-ام را میتوان بهشکل کلی زیر نوشت:
\[h_v^{(k)} = \sigma \left( W^{(k)} \cdot \text{AGGREGATE}\left( \{\, h_u^{(k-1)} : u \in \mathcal{N}(v) \,\} \right) \right)\]
- \(h_v^{(k)}\): بردار تعبیه (Embedding) گره \(v\) در لایهٔ \(k\).
- \(\mathcal{N}(v)\): مجموعهٔ همسایگان گره \(v\). نکته: در GNNها معمولاً خود گره \(v\) نیز به این مجموعه اضافه میشود (Self-loop) تا اطلاعات خودش حفظ شود.
- \(h_u^{(k-1)}\): پیامهای دریافتی از گرههای همسایه در لایهٔ قبل.
- \(\text{AGGREGATE}\): تابعی مستقل از ترتیب (مانند جمع، میانگین یا Max) که پیامها را فشرده میکند.
- \(W^{(k)}\): ماتریس وزنهای قابل یادگیری شبکه.
- \(\sigma\): تابع فعالساز غیرخطی (مانند ReLU).
هدف نهایی این است که با تکرار این چرخه، برداری بسازیم که هم «محتوای گره» و هم «موقعیت آن در شبکه» را توصیف کند.